package Map;

import java.util.HashMap;
import java.util.Map;

/**
 * @author 王艺锡
 * @version 1.0
 */
@SuppressWarnings({"all"})
public class MapIntroduce {
    public static void main(String[] args) {
        //1.Map与Collection并列存在,用于保存具有映射关系的数据:Key-Value(双列元素)
        //2.Map中的Key和Value可以使任何引用类型的数据，会封装到HashMap$Node对象中

        Map map = new HashMap();
        map.put("num1","王艺锡");

        //3.Map中的Key不允许重复，原因和HashSet一样.当有相同的Key时，会用新的Key替换旧的Key对象
        map.put("num2","123");
        map.put("num2","郭露遥");

        //4.Map中的Value值可以重复
        map.put("num3","123");

        //5.Map中的Key可以为null，Value也可以为null，但Map只能有一个null，Value可以有多个空
        map.put(null,null);
        map.put(null,"345");
        map.put("num4",null);
        map.put("num5",null);

        //6.常用String类作为Map的Key
        map.put(new String(),"666");
        map.put(new Object(),"666");
        System.out.println(map);

        //7.Key和Value之间存在1对1的关系，即通过Key总能找到对应的Value
        System.out.println(map.get("num1"));
        System.out.println(map.get("num2"));


    }
}
